Embodiments of the inventive subject matter generally relate to the field of networked computer system, and, more particularly, building downloadable applications using modularized dependencies to determine modules to include in the downloadable application.
Over time, web pages have grown increasingly sophisticated. For example, in the past, the content of a particular web page was fairly static. The content of the page did not change from one request to another. Today, web pages are dynamic, and the content of a particular page can be tailored to a particular user. Further, the content has become more sophisticated. For example, a web page can be designed to run application software downloaded from a web server.
Additionally, the types of devices that are capable of requesting and using web pages have grown. Now, in addition to traditional desktop computers, phones, tablet computers, music players etc. are now able to request and use web pages. Such devices may be connected to networks having differing capabilities (high bandwidth, low bandwidth etc.).
As the content for web pages has grown more sophisticated, so has the size of the content. A downloadable application for a web page can include hundreds if not thousands of modules. Past applications have tended to download modules as they are requested by a downloadable application. This can lead to a noticeable (and potentially irritating) pause in the execution of a downloadable application while the application waits for a module to be loaded.